package com.esunny.resourcevisualization.manage;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.esunny.resourcevisualization.dao.CustomizeColumnDao;
import com.esunny.resourcevisualization.domain.entity.CustomizeColumn;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @version 1.0.0.0
 * @ClassName CustomizeColumnManage
 * @Description 用户自定义列头信息处理层
 * @Author baochencong
 * @Date 2021/3/22 17:25
 */
@Component
public class CustomizeColumnManage {

    @Resource
    private CustomizeColumnDao customizeColumnDao;

    /**
     * 添加用户自定义列头
     *
     * @param customizeColumn 自定义列头信息
     * @return 添加自定义列头结果
     */
    public boolean addCustomizeColumn(CustomizeColumn customizeColumn){
        return customizeColumnDao.addCustomizeColumn(customizeColumn);
    }

    /**
     * 通过用户名删除自定义列头信息
     *
     * @param username 用户名
     * @return 删除结果
     */
    public boolean deleteCustomizeColumn(String username,String resourceType){
        return customizeColumnDao.deleteCustomizeColumn(username,resourceType);
    }

    /**
     * 通过用户名修改用户自定义列头信息
     *
     * @param customizeColumn 自定义列头信息
     * @return 修改结果
     */
    public boolean updateCustomizeColumn(CustomizeColumn customizeColumn){
        return customizeColumnDao.updateCustomizeColumn(customizeColumn);
    }

    /**
     * 通过用户名获取列头信息
     *
     * @param username 用户名
     * @return 用户自定义列头信息
     */
    public JSONArray getCustomizeColumn(String username,String resourceType){
        CustomizeColumn customizeColumn = customizeColumnDao.getCustomizeColumn(username,resourceType);
        if (customizeColumn != null){
            return JSON.parseArray(customizeColumn.getColumns());
        }
        return null;
    }

}
